/**
 * Symbol 是不可被枚举的
 */
const obj = { name: 'zhangsan', [Symbol('age')]: 20 };

const p = new Proxy(obj, {
  /**
   *
   * @param {*} target 源对象
   * @returns 必须返回一个可被枚举的对象
   */
  ownKeys: (target) => {
    console.log(target);
    return Object.keys(target);
  },
});

console.log('Keys==>', Object.keys(p)); // 可以被拦截
